//
// Description: STL之next_permutation()使用
//              输出大于当前数组排序的所有字典序的case
//              如果要所有元素的全排列case，要先sort
// Created by Loading on 2021/1/31.
//

#include <bits/stdc++.h>

using namespace std;

int main() {
    vector<int> v = {0, 1, 2};
    vector<int> v1 = {1, 2, 0};

    do {
        for (auto x : v) {
            cout << x << " ";
        }
        cout << endl;
    } while (next_permutation(v.begin(), v.end()));//排列组合

    //下列代码仅输出了大于等于{1, 2, 0}的字典序列，一般全排列要配合sort使用
    do {
        for (auto x : v1) {
            cout << x << " ";
        }
        cout << endl;
    } while (next_permutation(v1.begin(), v1.end()));
}
